home *** CD-ROM | disk | FTP | other *** search
- package com.netscape.sasl;
-
- import java.lang.reflect.Constructor;
-
- public class SASLMechanismFactory {
- public static SASLClientMechanismDriver getMechanismDriver(String[] var0, String var1) throws SASLException {
- for(int var2 = 0; var2 < var0.length; ++var2) {
- try {
- SASLClientMechanismDriver var3 = getMechanismDriver(var0[var2], var1);
- if (var3 != null) {
- return var3;
- }
- } catch (SASLException var4) {
- }
- }
-
- throw new SASLException();
- }
-
- public static SASLClientMechanismDriver getMechanismDriver(String var0, String var1) throws SASLException {
- String var2 = var1 + "." + var0;
- Object var3 = null;
-
- try {
- Class var4 = Class.forName(var2);
- Constructor[] var5 = var4.getConstructors();
-
- for(int var6 = 0; var6 < var5.length; ++var6) {
- Class[] var7 = var5[var6].getParameterTypes();
- if (var7.length == 0) {
- SASLClientMechanismDriver var12 = (SASLClientMechanismDriver)var5[var6].newInstance((Object[])null);
- return var12;
- }
-
- if (var7.length == 1 && var7[0].getName().equals("java.lang.String")) {
- Object[] var8 = new Object[]{var0};
- SASLClientMechanismDriver var11 = (SASLClientMechanismDriver)var5[var6].newInstance(var8);
- return var11;
- }
- }
-
- System.out.println("No appropriate constructor in " + var0);
- } catch (ClassNotFoundException var9) {
- System.out.println("Class " + var0 + " not found");
- } catch (Exception var10) {
- System.out.println("Failed to create " + var0 + " mechanism driver");
- }
-
- throw new SASLException();
- }
-
- public static String[] getMechanisms() throws SASLException {
- throw new SASLException("Method getMechanisms not supported now", 80);
- }
-
- public static String[] getMechanisms(String var0) throws SASLException {
- throw new SASLException("Method getMechanisms not supported now");
- }
- }
-